There has been proposed a technique for improving a speed of the duplex printing process by printing N sheets (N is a positive integer) on the first sides thereof and subsequently printing M sheets (M is an integer equal to or more than 0 and equal to or less than N) on the second sides thereof. For example, for performing the duplex printing on 10 pages (5 sheets), an image forming apparatus prints them in the page order of 2 (even page), 4 (even page), 1 (odd page), 6 (even page), 3 (odd page), 8 (even page), 5 (odd page), 10 (even page), 7 (odd page) and 9 (odd page). Furthermore, an image forming apparatus that prints them in the page order of 1, 3, 5, 2, 7, 4, 9, 6, 8, and 10.
However, in the above-described duplex printing technique, there have been the following problems. That is, a time required for completing generation of print data for “one printing process unit” (for example, one page) is different for each copy setting. For example, a setting for printing a plurality of pages on one sheet or setting for reading both sides requires a longer time for completing a reading of an original image, as compared with other settings. Therefore, even though a printing speed is increased by increasing the number of sheets to be successively printed on the first sides thereof, generation of the print data for subsequent “one printing process unit” may not be completed before a certain printing operation of “one printing process unit” is completed. Therefore, the printing operation may be temporarily suspended. In that case, the advantage of printing successively on first sides can be not fully enjoyed. Additionally, as the plurality of sheets are printed on the first sides thereof, the number of sheets staying in the image forming apparatus increases. Therefore, there may be a disadvantage in that the number of defective print sheets increases, which are caused by a sheet jam.